$(function () {
  load();
  $("#content").on("keydown", function (e) {
    if (e.keyCode == 13) {
      if ($("#content").val()) {
        var data = getData();
        data.push({ title: $("#content").val(), done: false });
        localStorage.setItem("todolist", JSON.stringify(data));
        load();
        $("#content").val("");
        };
      };
  });

  //完成与未完成转换功能
  $('ul,ol').on("click",'input' , function () {
    let data = getData();
    let index = $(this).siblings('div').attr('id');
    if ($(this).prop('checked')) {
      data[index].done = true;
    } else {
      data[index].done = false;
    };
    add(data);
  });

  $('ul,ol').on("click",'div' , function () {
    let data = getData();
    let index = $(this).attr('id');
    removerData(index);
  });
    
   
  //页面渲染函数
  function load() {
    var obj = getData();
    var todocount = 0,
        donecount = 0;
    $("ul , ol").empty();
    $.each(obj,function (i, el) { 
      if (!el.done) {
        $("ul").prepend(`
                <li>
                <input type="checkbox" name="" class="check" >
                <p>${el.title}</p>
                <div id = ${i}></div>
            </li>
            `);
        todocount++;
      }else {
        $("ol").prepend(`
                <li>
                <input type="checkbox" name="" class="check" checked>
                <p>${el.title}</p>
                <div id = ${i}></div>
            </li>
            `);
        donecount++;
      }
    });
    $('.donecount').text(donecount);
    $('.todocount').text(todocount);
  };
  //获取本地缓存
  function getData() {
    if (localStorage.getItem("todolist")) {
      var obj = JSON.parse(localStorage.getItem("todolist"));
      return obj;
    } else {
      return [];
    }
  };
  // 添加数据
  function add(data) {
    console.log(data);
      localStorage.setItem("todolist",JSON.stringify(data));
      load();
  };

  // 本地缓存删除
  function removerData(index) {
    var data = getData();
    if (data && data.length > index) {
      data.splice(index, 1);
      add(data);
    } else {
      return "error";
    }
  }
});


